package vistaprincipal;

import java.util.ArrayList;
import java.util.List;

public class MDPPmotor {
    String impresion;
    List<Ejercicio> le= new ArrayList();
    List<String> lhipotesis= new ArrayList(); 
public void ejecuta(String hipotesis){
 boolean aux=false;   
 Ejercicio entrada=new Ejercicio (hipotesis);
 lhipotesis=entrada.lhipotesis;
 generaBase();
    for(int i=0;i<le.size();i++){
        
        aux=le.get(i).compara(entrada);
        if (aux==true){
            System.out.println(entrada.respuesta);
            impresion=" "+entrada.respuesta;
            break;
        }
        else
            System.out.println("prueba"+i+"  fallida");
    }
    if(aux==false)
    impresion="El progama no puede realizar este ejercicio por este método";
    
    
    
}


public void generaBase(){
le.clear();    
le.add(new Ejercicio("A→B,(7B∨C)∧7C,7(7A∧D),7D,","1\t p,h1\t A→B\n 2\t p,h2\t (7B∨C)∧7C\n 3\t t,2,eq\t (7B∧7C)∨(C∧7C)\n 4\t t,3,eq\t (7B∧7C)∨(F)\n 5\t t,4,eq\t 7B∧7C\n 6\t t,5,i1\t 7B\n 7\t t,5,i2\t 7C\n 8\t t,6,1,i12\t 7A\n 9\t p,h3\t 7(7A∧D)\n 10\t t,9,eq\t A∨7D\n 11\t t,8,10,i10\t 7D\n "));
le.add(new Ejercicio("A∧B,B∧7C,C,A∨(D∧E),D∧E,","1\t p,h1\t A→B\n 2\t p,h2\t B→7C\n 3\t t,1,2,i13\t A→7C\n 4\t p,h3\t C\n 5\t t,4,3,i12\t 7A\n 6\t p,h4\t A∨(D∧E)\n 7\t t,5,6,i10\t D∧E\n "));
le.add(new Ejercicio("(P∨Q)→(R∧S),P,R,","1\t p,h2\t P\n 2\t t,1,i3\t P∨Q\n 3\t p,h1\t (P∨Q)→(R∧S)\n 4\t t,2,3,i11\t R∧S\n 5\t t,4,i1\t R\n "));
le.add(new Ejercicio("(P→Q)∧(R→S),(S∧Q)→W,7W,7P∨7R,","1\t p,h3\t 7W\n 2\t p,h2\t (S∧Q)→W\n 3\t t,1,2,i12\t 7(S∧Q)\n 4\t t,3,eq\t 7S∨7Q\n 5\t t,4,eq\t 7Q∨7S\n 6\t t,5,eq\t Q→7S\n 7\t p,h1\t (P→Q)∧(R→S)\n 8\t t,7,i1\t P→Q\n 9\t t,7,i2\t R→S\n 10\t t,8,6,i13\t P→7S\n 11\t t,9,eq\t 7R∨S\n 12\t t,11,eq\t S∨7R\n 13\t t,12,eq\t 7S→7R\n 14\t t,10,13,i13\t P→7R\n 15\t t,14,eq\t 7P∨7R\n "));
/*70,4*/le.add(new Ejercicio("(P∧Q)→R,(R∧S)→7W,7X→(S∧W),(P∧Q)→X,","1\t p,h2\t (R∧S)→7W\n 2\t t,1,eq\t 7(R∧S)∨7W\n 3\t t,2,eq\t 7R∨7W∨7S\n 4\t t,3,eq\t R→(7W∨7S)\n 5\t t,4,eq\t R→7(W∧S)\n 6\t p,h1\t (P∧Q)→R\n 7\t t,6,5,i13\t (P∧Q)→7(S∧W)\n 8\t t,7,eq\t (S∧W)→7(P∧Q)\n 9\t p,h3\t 7X→(S∧W)\n 10\t t,9,8,i13\t 7X→7(P∧Q)\n 11\t t,10,eq\t (P∧Q)→(X)\n "));
le.add(new Ejercicio("7P→(Q∧7R),P→S,7Q,S,","1\t p,h2\t P→S\n 2\t t,1,eq\t 7S→7P\n 3\t p,h1\t 7P→(Q∧7R)\n 4\t t,2,3,i13\t 7S→(Q∧7R)\n 5\t t,4,eq\t (Q∧7R)∨S\n 6\t t,5,eq\t (S∨Q)∧(S∨7R)\n 7\t t,6,i1\t S∨Q\n 8\t t,7,eq\t 7S→Q\n 9\t p,h3\t 7Q\n 10\t t,9,8,i12\t S\n "));
le.add(new Ejercicio("(P∧7Q∧7R)→S,W,(S∧W)→7X,(S∧7X)→Y,7Y,(P∧7Q)→R,","1\t p,h5\t 7Y\n 2\t p,h4\t (S∧7X)→Y\n 3\t t,1,2,i12\t 7(S∧7X)\n 4\t t,3,eq\t 7S∨X\n 5\t t,4,eq\t S→X\n 6\t p,h3\t (S∧W)→7X\n 7\t t,6,eq\t X→7(S∧W)\n 8\t t,5,7,i13\t S→7(S∧W)\n 9\t t,8,eq\t 7W∨7S∨7S\n 10\t t,9,eq\t 7S∨7W\n 11\t t,10,eq\t S→7W\n 12\t p,h2\t W\n 13\t t,12,11,i12\t 7S\n 14\t p,h1\t (P∧7Q∧7R)→S\n 15\t t,13,14,i12\t 7(P∧7Q∧7R)\n 16\t t,15,eq\t 7P∨Q∨R\n 17\t t,16,eq\t R∨(7P∨Q)\n 18\t t,17,eq\t 7(7P∨Q)→R\n 19\t t,18,eq\t (P∧7Q)→R\n "));
le.add(new Ejercicio("(P→Q)∧(R→S),(P∨R)→(Q∨S),","1\t p,h1\t (P→Q)∧(R→S)\n 2\t t,1,eq\t (7P∨Q)∧(7R∨S)\n 3\t t,2,i3\t [(7P∨Q)∧(7R∨S)]∨(Q∨S)\n 4\t t,3,eq\t ((7P∨Q)∨(Q∨S))∧((7R∨S)∨(Q∨S))\n 5\t t,4,eq\t (7P∨(Q∨S))∧(7R∨(Q∨S))\n 6\t t,5,eq\t (7P∧7R)∨(Q∨S)\n 7\t t,6,eq\t 7(7P∧7R)→(Q∨S)\n 8\t t,7,eq\t (P∨R)→(Q∨S)\n "));
le.add(new Ejercicio("P→Q,R∨S,S→7Q,7R,7P,","1\t p,h2\t R∨S\n 2\t t,1,eq\t 7R→S\n 3\t p,h3\t S→7Q\n 4\t t,2,3,i13\t 7R→7Q\n 5\t p,h4\t 7R\n 6\t t,5,4,i11\t 7Q\n 7\t p,h1\t P→Q\n 8\t t,6,7,i12\t 7P\n "));
le.add(new Ejercicio("P∧Q→R,7(P∨R)→S,P→Q,7S→R,","1\t p,h3\t P→Q\n 2\t p,h1\t P∧Q→R\n 3\t t,2,eq\t 7(P∧Q)∨R\n 4\t t,3,eq\t Q→(7P∨R)\n 5\t t,1,4,i13\t P→(7P∨R)\n 6\t t,5,eq\t 7P∨7P∨R\n 7\t t,6,eq\t 7R→7P\n 8\t p,h2\t 7(P∨R)→S\n 9\t t,8,eq\t (R∨S)∨P\n 10\t t,9,eq\t 7P→(R∨S)\n 11\t t,7,10,i13\t 7R→(R∨S)\n 12\t t,11,eq\t 7R→S\n 13\t t,12,eq\t 7S→R\n "));
le.add(new Ejercicio("P→(Q→R),R→7R,(W→P)∧(X→Q),W→7X,","1\t p,h2\t R→7R\n 2\t t,1,eq\t 7R∨7R\n 3\t t,2,eq\t 7R\n 4\t p,h1\t P→(Q→R)\n 5\t t,4,eq\t 7P∨7Q∨R\n 6\t t,5,eq\t R∨(7P∨7Q)\n 7\t t,3,6,i10\t 7P∨7Q\n 8\t t,7,eq\t P→7Q\n 9\t p,h3\t (W→P)∧(X→Q)\n 10\t t,9,i1\t W→P\n 11\t t,9,i2\t X→Q\n 12\t t,10,8,i13\t W→7Q\n 13\t t,11,eq\t 7Q→7X\n 14\t t,12,13,i13\t W→7X\n "));
le.add(new Ejercicio("P→M,7M,P∨Q,Q→R,R∧(P∨Q),","1\t p,h2\t 7M\n 2\t p,h1\t P→M\n 3\t t,1,2,i12\t 7P\n 4\t p,h3\t P∨Q\n 5\t t,3,4,i10\t Q\n 6\t p,h4\t Q→R\n 7\t t,5,6,i11\t R\n 8\t t,7,4,i9\t (P∨Q)∧R\n "));
le.add(new Ejercicio("7P∧Q,7P→(Q→R),7S→7(R∧Q),S,","1\t p,h1\t 7P∧Q\n 2\t t,1,i1\t 7P\n 3\t t,1,i2\t Q\n 4\t p,h2\t 7P→(Q→R)\n 5\t t,2,4,i11\t Q→R\n 6\t p,h3\t 7S→7(R∧Q)\n 7\t t,6,eq\t S∨7R∨7Q\n 8\t t,7,eq\t 7R∨S∨7Q\n 9\t t,8,eq\t R→(S∨7Q)\n 10\t t,5,9,i13\t Q→(S∨7Q)\n 11\t t,10,eq\t 7Q∨7Q∨S\n 12\t t,11,eq\t 7Q∨S\n 13\t t,3,12,i10\t S\n "));
le.add(new Ejercicio("Q,7R∨P,P→(7Q∨S),R→S,","1\t p,h2\t 7R∨P\n 2\t t,1,eq\t R→P\n 3\t p,h3\t P→(7Q∨S)\n 4\t t,2,3,i13\t R→(7Q∨S)\n 5\t t,4,eq\t 7R∨(7Q∨S)\n 6\t t,5,eq\t 7Q∨(7R∨S)\n 7\t p,h1\t Q\n 8\t t,7,6,i10\t 7R∨S\n 9\t t,8,eq\t R→S\n "));
/*80,14*/le.add(new Ejercicio("P→Q,Q→7R,7P→S,S→7R,7R→D,D,","1\t p,h1\t P→Q\n 2\t p,h2\t Q→7R\n 3\t t,1,2,i13\t P→7R\n 4\t p,h3\t 7P→S\n 5\t p,h4\t S→7R\n 6\t t,4,5,i13\t 7P→7R\n 7\t t,6,eq\t R→P\n 8\t t,7,3,i13\t R→7R\n 9\t t,8,eq\t 7R∨7R\n 10\t t,9,eq\t 7R\n 11\t p,h5\t 7R→D\n 12\t t,10,11,i11\t D\n "));
le.add(new Ejercicio("P→Q,Q→(7S→R),P∧7R,S,","1\t p,h3\t P∧7R\n 2\t t,1,i1\t P\n 3\t t,1,i2\t 7R\n 4\t p,h1\t P→Q\n 5\t t,2,4,i11\t Q\n 6\t p,h2\t Q→(7S→R)\n 7\t t,5,6,i11\t 7S→R\n 8\t t,3,7,i12\t S\n "));
le.add(new Ejercicio("P→(7Q∨R),R→S,Q∧7S,7P,","1\t p,h3\t Q∧7S\n 2\t t,1,i1\t Q\n 3\t t,1,i2\t 7S\n 4\t p,h2\t R→S\n 5\t t,3,4,i12\t 7R\n 6\t t,2,5,i9\t Q∧7R\n 7\t t,6,eq\t 7(7Q∨R)\n 8\t p,h1\t P→(7Q∨R)\n 9\t t,7,8,i12\t 7P\n "));
le.add(new Ejercicio("P→Q,P,Q→R,R,","1\t p,h2\t P\n 2\t p,h1\t P→Q\n 3\t t,1,2,i11\t Q\n 4\t p,h3\t Q→R\n 5\t t,3,4,i11\t R\n "));
le.add(new Ejercicio("P∨Q,Q→S,P→R,S∨R,","1\t p,h1\t P∨Q\n 2\t t,1,eq\t 7P→Q\n 3\t p,h2\t Q→S\n 4\t t,2,3,i13\t 7P→S\n 5\t t,4,eq\t 7S→P\n 6\t p,h3\t P→R\n 7\t t,5,6,i13\t 7S→R\n 8\t t,7,eq\t S∨R\n "));
le.add(new Ejercicio("P→Q,Q→7R,R,P∨(S∧W),S∧W,","1\t p,h1\t P→Q\n 2\t p,h2\t Q→7R\n 3\t t,1,2,i13\t P→7R\n 4\t p,h3\t R\n 5\t t,4,3,i12\t 7P\n 6\t p,h4\t P∨(S∧W)\n 7\t t,5,6,i10\t S∧W\n "));
le.add(new Ejercicio("P→Q,(P∨Q)∨(R∧S),7Q∧S,R,","1\t p,h3\t 7Q∧S\n 2\t t,1,i1\t 7Q\n 3\t t,i,i2\t S\n 4\t p,h1\t P→Q\n 5\t t,2,4,i12\t 7P\n 6\t t,5,2,i9\t 7P∧7Q\n 7\t t,6,eq\t 7(P∨Q)\n 8\t p,h2\t (P∨Q)∨(R∧S)\n 9\t t,7,8,i10\t (R∧S)\n 10\t t,9,i1\t R\n "));
le.add(new Ejercicio("R,Q∨7P,7(R∧Q),P∨(R∧S),R∧S,","1\t p,h1\t R\n 2\t p,h3\t 7(R∧Q)\n 3\t t,2,eq\t 7R∨7Q\n 4\t t,1,3,i10\t 7Q\n 5\t p,h2\t Q∨7P\n 6\t t,4,5,i10\t 7P\n 7\t p,h4\t P∨(R∧S)\n 8\t t,6,7,i10\t R∧S\n "));
le.add(new Ejercicio("(P∧Q)→R,7R∨S,7S,7P∨7Q,","1\t p,h3\t 7S\n 2\t p,h2\t 7R∨S\n 3\t t,2,eq\t S∨7R\n 4\t t,1,3,i10\t 7R\n 5\t p,h1\t (P∧Q)→R\n 6\t t,4,5,i12\t 7(P∧Q)\n 7\t t,6,eq\t 7P∨7Q\n "));
le.add(new Ejercicio("7C→(7A∨7B),7C∨D,7(7B∨D),7A,","1\t p,h3\t 7(7B∨D)\n 2\t t,1,eq\t B∧7D\n 3\t t,2,i1\t B\n 4\t t,2,i2\t 7D\n 5\t p,h2\t 7C∨D\n 6\t t,5,eq\t D∨7C\n 7\t t,4,6,i10\t 7C\n 8\t p,h1\t 7C→(7A∨7B)\n 9\t t,7,8,i11\t 7A∨7B\n 10\t t,9,eq\t 7B∨7A\n 11\t t,3,10,i10\t 7A\n "));
/*90,24*/le.add(new Ejercicio("P,7Q→7P,7R→7Q,R,","1\t p,h1\t P\n 2\t p,h2\t 7Q→7P\n 3\t t,1,2,i12\t Q\n 4\t p,h3\t 7R→7Q\n 5\t t,3,4,i12\t R\n "));

le.add(new Ejercicio("P∧Q∧7U,P→(Q→(R∨S)),R→A,S→U,A,","1\t p,h1\t P∧Q∧7U\n 2\t t,1,i1\t P\n 3\t t,1,i1\t Q\n 4\t t,1,i2\t 7U\n 5\t p,h4\t S→U\n 6\t t,4,5,i12\t 7S\n 7\t p,h2\t P→(Q→(R∨S))\n 8\t t,2,7,i11\t Q→(R∨S)\n 9\t t,3,8,i11\t R∨S\n 10\t t,9,eq\t S∨R\n 11\t t,6,10,i10\t R\n 12\t p,h3\t R→A\n 13\t t,11,12,i11\t A\n "));

le.add(new Ejercicio("P→Q,(7Q∨R)∧7R,7(7P∧S),7S,","1\t p,h1\t P→Q\n 2\t p,h2\t (7Q∨R)∧7R\n 3\t t,2,i1\t 7Q∨R\n 4\t t,2,i2\t 7R\n 5\t t,3,eq\t Q→R\n 6\t t,1,5,i13\t P→R\n 7\t p,h3\t 7(7P∨S)\n 8\t t,7,eq\t 7P→7S\n 9\t t,6,eq\t 7R→7P\n 10\t t,9,8,i13\t 7R→7S\n 11\t t,4,10,i11\t 7S\n "));
le.add(new Ejercicio("P→Q,(7Q∨R)∧7R,7(7P∧S),7S,","1\t p,h2\t (7Q∨R)∧7R\n 2\t t,1,eq\t (7Q∧7R)∨(R∧7R)\n 3\t t,2,eq\t (7Q∧7R)∨(F)\n 4\t t,3,eq\t 7Q∧7R\n 5\t t,4,i1\t 7Q\n 6\t t,4,i2\t 7R\n 7\t p,h1\t P→Q\n 8\t t,7,eq\t 7P∨Q\n 9\t t,8,eq\t Q∨7P\n 10\t t,5,9,i10\t 7P\n 11\t p,h3\t 7(7P∧S)\n 12\t t,11,eq\t P∨7S\n 13\t t,10,12,i10\t 7S\n "));
le.add(new Ejercicio("P→(7Q∨R),R→S,Q∧7S,7P,","1\t p,h3\t R∨S\n 2\t t,1,i1\t Q\n 3\t t,1,i2\t 7S\n 4\t p,h2\t R→S\n 5\t t,3,4,i12\t 7R\n 6\t t,2,5,i9\t Q∧7R\n 7\t t,6,eq\t 7(7Q∨R)\n 8\t p,h1\t P→(7Q∨R)\n 9\t t,7,8,i12\t 7P\n "));
}

}
